#pragma once
#include "../indexado/archivos/ArchivoIndice.h"
#include "../general/estructuras/Termino.h"
#include "../general/estructuras/Documento.h"
#include "../indexado/estructuras/Cabecera.h"
#include "../commons/InfoRepositorioActual.h"
#include <string>
#include <list>
#include <map>

class Consulta {

private:
    ArchivoIndice* archIndice;
    Termino* buscarTermino(string terminoBuscado);
    Termino* buscarFrase(list<string>* fraseBuscada);
    Termino* intersecarTerminos(list<Termino*>&);
    list<Documento*>* intersecarDocumentos(list<Documento*>*,list<Documento*>*);
    list<EnteroLargo>* sonContiguos(Documento*,Documento*);

public:
    Consulta();
    Consulta(ArchivoIndice* arch);
    Termino* consultar(list<string>* query);

};
